e5d2a8760a644516ac62fbeaaf201b421988aa93,wdl/WdlParser.java,WdlParser,parse_for_loop,#,188

Before Change


      tree.add(next);
      return tree;
    }
    Formatter formatter = new Formatter(new StringBuilder(), Locale.US);
    StackTraceElement[] stack = Thread.currentThread().getStackTrace();
    formatter.format("Error: Unexpected symbol (%s) when parsing %s", current, stack[0].getMethodName());
    throw new SyntaxError(formatter.toString());
  }
  private ParseTree parse__gen2() throws SyntaxError {
    Terminal current = this.tokens.current();

After Change


    throw new SyntaxError(this.syntaxErrorFormatter.unexpected_symbol("step_input_list", current, new ArrayList<Integer>()));
  }
  private ParseTree parse_for_loop() throws SyntaxError {
    Terminal current = this.tokens.current();
    Terminal next;
    ParseTree subtree;
    int rule = current != null ? this.table[3][current.getId()] : -1;
    ParseTree tree = new ParseTree( new NonTerminal(25, "for_loop"));
    tree.setList(null);
    if (current == null) {
      StackTraceElement[] stack = Thread.currentThread().getStackTrace();
      throw new SyntaxError(this.syntaxErrorFormatter.unexpected_eof(stack[1].getMethodName(), null));
    }
    if (rule == 21) {
      LinkedHashMap<String, Integer> parameters = new LinkedHashMap<String, Integer>();
      parameters.put("body", 7);
      parameters.put("item", 2);
      parameters.put("collection", 4);
      tree.setAstTransformation(new AstTransformNodeCreator("ForLoop", parameters));
      next = this.tokens.expect(TerminalId.TERMINAL_FOR.id(), this.syntaxErrorFormatter);
      tree.add(next);
      next = this.tokens.expect(TerminalId.TERMINAL_LPAREN.id(), this.syntaxErrorFormatter);
      tree.add(next);
      next = this.tokens.expect(TerminalId.TERMINAL_IDENTIFIER.id(), this.syntaxErrorFormatter);
      tree.add(next);
      next = this.tokens.expect(TerminalId.TERMINAL_IN.id(), this.syntaxErrorFormatter);
      tree.add(next);
      next = this.tokens.expect(TerminalId.TERMINAL_IDENTIFIER.id(), this.syntaxErrorFormatter);
      tree.add(next);
      next = this.tokens.expect(TerminalId.TERMINAL_RPAREN.id(), this.syntaxErrorFormatter);
      tree.add(next);
      next = this.tokens.expect(TerminalId.TERMINAL_LBRACE.id(), this.syntaxErrorFormatter);
      tree.add(next);
      subtree = this.parse__gen2();
      tree.add( subtree);
      next = this.tokens.expect(TerminalId.TERMINAL_RBRACE.id(), this.syntaxErrorFormatter);
      tree.add(next);
      return tree;
    }
    throw new SyntaxError(this.syntaxErrorFormatter.unexpected_symbol("for_loop", current, new ArrayList<Integer>()));
  }
  private ParseTree parse_step_output_list() throws SyntaxError {
    Terminal current = this.tokens.current();